图表功能 > 标记和标签 |
WPF和Silverlight版Chart对显示绑定可交互的标记和标签提供了特别支持。没有单一的方法来创建或者在图表中显示标记,所以我们的策略是为C1Chart控件提供一个可扩展的对象模型来帮助您创造所需要的精确设置。
本主题将涵盖ChartPanelObject 以及ChartView.Layers集合以及您如何使用这些在图表总提供一个定制的形形色色的标记和标签。
为了在图表中使用图表面板,首先必须向ChartView的Layers集合中添加面板:
XAML |
拷贝代码
|
---|---|
<c1chart:C1Chart x:Name="chart">
<c1chart:C1Chart.View>
<c1chart:ChartView>
<c1chart:ChartView.Layers>
<c1chart:ChartPanel >
<!-- ChartPanelObjects -->
</c1chart:ChartPanel>
</c1chart:ChartView.Layers>
</c1chart:ChartView>
</c1chart:C1Chart.View>
</c1chart:C1Chart>
|
通过ChartView.Layers集合,您可以添加任意数量的ChartPanel。每一个面板可以具有任意数量的ChartPanelObject,每一个对象是一个基础的UI元素,用于定义我们的标记。ChartPanelObject有几个关键属性:
您可以设置ChartPanelObject.Content属性为任何UIElement。这允许您定义您的标记的外观并提供绑定到数据点。您还可以使用Alignment属性以帮助定义您的标记的外观,- 您可以创建一个居中显示的标记。在这种情况下,您最好请设置HorizontalAlignment属性为“Center”。
下面的XAML定义左下角位于数据坐标 X= 0,Y = 0的文本标签:
XAML |
拷贝代码
|
---|---|
<c1chart:ChartPanelObject DataPoint="0,0" VerticalAlignment="Bottom"> <TextBlock Text="Zero"/> </c1chart:ChartPanelObject> |
注意:没有必要同时指定两个坐标。如果坐标设置为double.Nan那么元素没有特定的X或Y坐标。 |
我们可以创建水平标记在y= 0的位置。请注意,HorizontalAlignment 属性设置为Stretch,元素填充绘图区的宽度。
XAML |
拷贝代码
|
---|---|
<!-- 水平线 --> <c1chart:ChartPanelObject DataPoint="NaN,0" HorizontalAlignment="Stretch"> <Border BorderBrush="Red" BorderThickness="0,2,0,0" Margin="0,-1,0,0" /> </c1chart:ChartPanelObject> |
下面的示例创建一个垂直标记:
XAML |
拷贝代码
|
---|---|
<!-- 垂直线 --> <c1chart:ChartPanelObject DataPoint="0,NaN" VerticalAlignment="Stretch"> <Border BorderBrush="Red" BorderThickness="2,0,0,0" Margin="-1,0,0,0" /> </c1chart:ChartPanelObject> |
注意:图表面板对象仅支持主坐标轴。对于辅助轴,您需要执行坐标转换。 |